feat(crashtracking): include Kind in crash ping and clarify requirements#1595
feat(crashtracking): include Kind in crash ping and clarify requirements#1595
Kind in crash ping and clarify requirements#1595Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
| /// which has not previously been dropped. | ||
| /// All arguments must be valid. | ||
| /// This method requires that the builder has a UUID and metadata set | ||
| /// This method requires that the builder has `metadata` and `kind` set |
There was a problem hiding this comment.
uuid is set automatically (stale inline comment). We always know what Kind a crash is. We should send it
📚 Documentation Check Results📦
|
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality. |
🔒 Cargo Deny Results📦
|
a5dd6fc to
fb63033
Compare
This comment has been minimized.
This comment has been minimized.
BenchmarksComparisonBenchmark execution time: 2026-02-18 05:34:54 Comparing candidate commit 99181d9 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 2 unstable metrics. CandidateCandidate benchmark detailsGroup 1
Group 2
Group 3
Group 4
Group 5
Group 6
Group 7
Group 8
Group 9
Group 10
Group 11
Group 12
Group 13
Group 14
Group 15
Group 16
Group 17
Group 18
Group 19
BaselineOmitted due to size. |
Kind in crash ping and clarify requirements
fb63033 to
9d890c4
Compare
b876b7b to
f198560
Compare
| } | ||
|
|
||
| pub fn is_ping_ready(&self) -> bool { | ||
| // On Unix platforms, wait for both metadata and siginfo |
There was a problem hiding this comment.
We dont need to know sig info. It is documented for the runtimes to decide to send it if they wish to enhance the ping message
f198560 to
285bf36
Compare
285bf36 to
99181d9
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1595 +/- ##
==========================================
- Coverage 70.96% 70.96% -0.01%
==========================================
Files 424 424
Lines 62077 62117 +40
==========================================
+ Hits 44056 44084 +28
- Misses 18021 18033 +12
🚀 New features to boost your workflow:
|
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
Kind in crash ping and clarify requirementsKind in crash ping and clarify requirements

What does this PR do?
This PR updates what a
CrashPingconsists of. This is in preparation of allowing the crashtracker to not only handle UNIX signal based crashes, but other types of program terminations, such as unhandled exceptions.These are the biggest changes
CRASHTRACK_*_KINDblock in the communication protocol of the receiver. Previously, we always defaulted toUnixSignalin the receiver, which is not true in the world of supporting unhandled exceptionswith_kindAPI to the crash info builder, which is why this PR is marked asfeatKindas an explicitErrorKindfor theCrashPing. Previously, under the assumption that we were only supporting unix signal based crashes, we would set it toCrash ping. This was bad design and this PR fixes that.This PR does not contain any changes for actually handling unhandled exceptions. It is still in the world of unix signals only, it can now be extended, however, in the PR above this one
Additional Notes
PR on top of this on the stack: feat(crashtracking): report unhandled exceptions
How to test the change?
Unit tests have been updated to include Kind. If not, then any time Kind is not included, crash ping build will fail